#include<stdio.h>
#include<string.h>
#define N 100000
void merge_compare(int origin[],int temp[],int min,int mid,int max)
{
	int i,j,k;
	i=min;
	k=min;
	j=mid+1;
	while(i!=mid+1 && j!=max+1)
	{
		if(origin[i]>origin[j])
			temp[k++]=origin[j++];
		else
			temp[k++]=origin[i++];
	}
	while(j!=max+1)
		temp[k++]=origin[j++];
		
	while(i!=mid+1)
		temp[k++]=origin[i++];
	
	for(i=min;i<=max;i++)
		origin[i]=temp[i];
}

void merge_sort(int origin[],int temp[],int min,int max)
{
	int mid;
	if(min<max)
	{
		mid=min+(max-min)/2;
		merge_sort(origin,temp,min,mid);
		merge_sort(origin,temp,mid+1,max);
		merge_compare(origin,temp,min,mid,max);
	}
}

int main()
{
	int origin[N],temp[N],i,n;
	while(scanf("%d",&n)!=EOF)
	{
		for(i=0;i<n;i++)
		scanf("%d",&origin[i]);
	
	merge_sort(origin,temp,0,n-1);
	
	for(i=0;i<n;i++)
		{
			printf("%d",origin[i]);
			if(i<n-1)
				printf(" ");
		}
	printf("\n");
	}
	return 0;
}
